import {Component} from "vue";
import {BasicScope} from "./basicScope";

/**
 * 作用域
 */
export interface ElScope<T, R> extends BasicScope<T> {
  /**
   * 类型，支持所有element-plus组件，不需要加"el-"前缀，如"select"
   */
  type?: string;
  /**
   * 自定义组件，需全局注册，优先值高于type，默认绑定v-model
   */
  component?: string | Component;
  /**
   * 自定义渲染函数
   * @param row 当前行
   * @param disabled 禁用标识
   */
  render?: (row: R, disabled?: boolean) => Component;
  /**
   * 默认值
   */
  value?: any;
  /**
   * 是否在该作用域隐藏
   */
  hide?: boolean;
}
